package com.mathpractise.model;

import com.mathpractise.model.enums.ModuleType;

import java.util.Date;
import java.util.List;

/**
 * 训练会话实体类
 */
public class TrainingSession {
    
    /**
     * 会话ID
     */
    private String sessionId;
    
    /**
     * 用户ID（简单起见，这里可以暂时不用）
     */
    private String userId;
    
    /**
     * 模块类型
     */
    private ModuleType moduleType;
    
    /**
     * 训练配置
     */
    private TrainingConfig trainingConfig;
    
    /**
     * 开始时间
     */
    private Date startTime;
    
    /**
     * 结束时间
     */
    private Date endTime;
    
    /**
     * 答题详情列表
     */
    private List<AnswerDetail> answerDetails;
    
    /**
     * 题目列表
     */
    private List<Question> questions;
    
    public TrainingSession() {
    }
    
    public TrainingSession(String sessionId, ModuleType moduleType, TrainingConfig trainingConfig) {
        this.sessionId = sessionId;
        this.moduleType = moduleType;
        this.trainingConfig = trainingConfig;
        this.startTime = new Date();
    }
    
    // Getters and setters
    
    public String getSessionId() {
        return sessionId;
    }
    
    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }
    
    public String getUserId() {
        return userId;
    }
    
    public void setUserId(String userId) {
        this.userId = userId;
    }
    
    public ModuleType getModuleType() {
        return moduleType;
    }
    
    public void setModuleType(ModuleType moduleType) {
        this.moduleType = moduleType;
    }
    
    public TrainingConfig getTrainingConfig() {
        return trainingConfig;
    }
    
    public void setTrainingConfig(TrainingConfig trainingConfig) {
        this.trainingConfig = trainingConfig;
    }
    
    public Date getStartTime() {
        return startTime;
    }
    
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    
    public Date getEndTime() {
        return endTime;
    }
    
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    
    public List<AnswerDetail> getAnswerDetails() {
        return answerDetails;
    }
    
    public void setAnswerDetails(List<AnswerDetail> answerDetails) {
        this.answerDetails = answerDetails;
    }
    
    public List<Question> getQuestions() {
        return questions;
    }
    
    public void setQuestions(List<Question> questions) {
        this.questions = questions;
    }
}